Nondeterministic Lisp as a Substrate for Constraint Logic Programming
نویسندگان
چکیده
We have implemented a comprehensive constraint-based programming language as an extension to Common Lisp. This constraint package provides a uniied framework for solving both numeric and non-numeric systems of constraints using a combination of local propagation techniques including binding propagation, Boolean constraint propagation, generalized forward checking, propagation of bounds, and uniication. The backtracking facility of the nondeterministic dialect Common Lisp used to implement this constraint package acts as a general fallback constraint solving method mitigating the incompleteness of local propagation. An important aspect of our implementation is that it is both an extension to Common Lisp as well as fully implemented within Common Lisp. This is in contrast to recent constraint-based languages formulated in the logic programming framework which cannot be implemented eeciently in the language which they extend.
منابع مشابه
Nondeterrninistic Lis as a Substrate for Csnstrai rogram
We have implemented a comprehensive constraintbased programming language as an extension to COMMON LISP. This constraint package provides a unified framework for solving both numeric and non-numeric systems of constraints using a combination of local propagation techniques including binding propagation, Boolean constraint propagation, generalized forward checking, propagation of bounds, and uni...
متن کاملA universal interpreter for nondeterministic concurrentprogramming languages
Nondeterministic concurrent programming languages (ncpl) are languages which contain as primitive constructs nondeterministic choice and concurrent composition (inter-leaving). The best known are the languages based on CCS of Milner which are used as mathematical model of communication of concurrent processes. Concurrent constraint programming languages have been intensively studied during the ...
متن کاملOptimization Schemas for Parallel Implementation of Nondeterministic Languages and Systems
Naive parallel implementation of nondeterministic systems (such as a theorem proving system) and languages (such as a logic, constraint, or a concurrent constraint language) can result in poor performance. We present three optimization schemas based on flattening of the computation tree, procrastination of overheads, and sequentialization of computations that can be systematically applied to pa...
متن کاملLogistica-cfp: an Implementation of Constraint Functional Programming
As an alternative to constraint logic programming (CLP), LOGISTICA-CFP implements constraint functional programming (CFP) by borrowing from the approach of SCREAMER and building on the nondeterministic functional programming language LOGISTICA. Although currently in the experimental stages, LOGISTICA-CFP demonstrates that a functional approach can be used to implement constraint programming in ...
متن کاملToward an implementation theory of nondeterministicconcurrent
Nondeterministic concurrent programming languages (ncpl) are languages which contain as primitive constructs nondeterministic choice and concurrent composition (inter-leaving). The best known are the languages based on CCS of Milner which are used as mathematical models of communication of concurrent processes. Concurrent constraint programming languages have been intensively studied during the...
متن کامل